package co.edu.usbcali.unidades.modelo.dto;

import co.edu.usbcali.unidades.modelo.Cuenta;
import co.edu.usbcali.unidades.presentation.backingBeans.CuentaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class CuentaDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String estCodigo_Estado;
    private String priCodigo_PropietarioInmueble;
    private String cueCodCuenta;
    private boolean rowSelected = false;
    private CuentaView cuentaView;
    private Cuenta cuenta;

    public Cuenta getCuenta() {
        return cuenta;
    }

    public String listener_update(ActionEvent e) {
        try {
            cuentaView.action_modifyWitDTO(((cueCodCuenta == null) ||
                cueCodCuenta.equals("")) ? null : new String(cueCodCuenta),
                ((estCodigo_Estado == null) || estCodigo_Estado.equals(""))
                ? null : new String(estCodigo_Estado),
                ((priCodigo_PropietarioInmueble == null) ||
                priCodigo_PropietarioInmueble.equals("")) ? null
                                                          : new String(
                    priCodigo_PropietarioInmueble));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        cueCodCuenta = cuenta.getCueCodCuenta().toString();
        estCodigo_Estado = (cuenta.getEstado().getEstCodigo() != null)
            ? cuenta.getEstado().getEstCodigo().toString() : null;
        priCodigo_PropietarioInmueble = (cuenta.getPropietarioInmueble()
                                               .getPriCodigo() != null)
            ? cuenta.getPropietarioInmueble().getPriCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Object details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        cueCodCuenta = cuenta.getCueCodCuenta().toString();
        estCodigo_Estado = (cuenta.getEstado().getEstCodigo() != null)
            ? cuenta.getEstado().getEstCodigo().toString() : null;
        priCodigo_PropietarioInmueble = (cuenta.getPropietarioInmueble()
                                               .getPriCodigo() != null)
            ? cuenta.getPropietarioInmueble().getPriCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    public void setCuenta(Cuenta cuenta) {
        this.cuenta = cuenta;
    }

    public CuentaView getCuentaView() {
        return cuentaView;
    }

    public void setCuentaView(CuentaView cuentaView) {
        this.cuentaView = cuentaView;
    }

    public String getEstCodigo_Estado() {
        return estCodigo_Estado;
    }

    public void setEstCodigo_Estado(String estCodigo_Estado) {
        this.estCodigo_Estado = estCodigo_Estado;
    }

    public String getPriCodigo_PropietarioInmueble() {
        return priCodigo_PropietarioInmueble;
    }

    public void setPriCodigo_PropietarioInmueble(
        String priCodigo_PropietarioInmueble) {
        this.priCodigo_PropietarioInmueble = priCodigo_PropietarioInmueble;
    }

    public String getCueCodCuenta() {
        return cueCodCuenta;
    }

    public void setCueCodCuenta(String cueCodCuenta) {
        this.cueCodCuenta = cueCodCuenta;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
